//using System; //using System.Collections.Generic; //using Shared; //namespace Shared.SimpleControl.Phone //{ // public class AlexaSettingPage : Dialog // { // Room room; // List showList = new List (); // VerticalScrolViewLayout deviceScrolView; // VerticalScrolViewLayout typeLayout; // string selectedDeviceType = "All"; // List roomSceneFilePathList = new List (); // List roomDeviceFilePathList = new List (); // int show = 99; // FrameLayout bodyView; // public AlexaSettingPage (Room r) // { // room = r; // showList.Clear (); // roomSceneFilePathList.AddRange (room.SceneFilePathList); // roomDeviceFilePathList.AddRange (room.DeviceFilePathList); // showList.AddRange (roomDeviceFilePathList); // showList.AddRange (roomSceneFilePathList); // bodyView = new FrameLayout () { // BackgroundColor = SkinStyle.Current.MainColor, // }; // AddChidren (bodyView); // } // public void ShowPage (Action action, Action, List> saveAction) // { // #region ---TopView--- // var topView = new RowLayout () { // Y = Application.GetRealHeight (36), // Height = Application.GetRealHeight (90), // Width = Application.GetRealWidth (640), // BackgroundColor = SkinStyle.Current.MainColor, // }; // bodyView.AddChidren (topView); // var back = new Button () { // Height = Application.GetRealHeight (90), // Width = Application.GetRealWidth (85), // UnSelectedImagePath = "Item/Back.png", // SelectedImagePath = "Item/BackSelected.png", // }; // topView.AddChidren (back); // back.MouseUpEventHandler += (sender, e) => { // this.Close (); // }; // Button NameButton = new Button () { // Width = Application.GetRealWidth (400), // Height = Application.GetMinReal (90), // TextID = R.MyInternationalizationString.AddNewDevice, // //Text = MainPage.SoftTitle, // SelectedTextColor = SkinStyle.Current.TextColor1, // TextColor = SkinStyle.Current.TextColor1, // Gravity = Gravity.CenterHorizontal, // TextAlignment = TextAlignment.Center, // TextSize = 20, // }; // topView.AddChidren (NameButton); // #endregion // #region type view // var chooseTypeView = new RowLayout () { // Y = topView.Bottom, // Height = Application.GetRealHeight (110), // BackgroundColor = SkinStyle.Current.ViewColor, // }; // bodyView.AddChidren (chooseTypeView); // Button btnEquipmentIcon = new Button () { // Width = Application.GetRealHeight (65), // Height = Application.GetRealHeight (65), // UnSelectedImagePath = "Item/LogicModule.png", // X = Application.GetRealWidth (30), // Gravity = Gravity.CenterVertical, // }; // chooseTypeView.AddChidren (btnEquipmentIcon); // Button btnDrodIcon = new Button () { // X = Application.GetRealWidth (540), // Height = Application.GetMinRealAverage (46), // Width = Application.GetMinRealAverage (47), // UnSelectedImagePath = "Item/Down.png", // SelectedImagePath = "Item/DownSelected.png", // Gravity = Gravity.CenterVertical, // }; // chooseTypeView.AddChidren (btnDrodIcon); // Button btnEquipmentType = new Button () { // Width = Application.GetRealHeight (460), // X = btnEquipmentIcon.Right + Application.GetRealWidth (20), // TextAlignment = TextAlignment.CenterLeft, // Text = Language.StringByID (R.MyInternationalizationString.All), // TextColor = SkinStyle.Current.TextColor1, // SelectedTextColor = SkinStyle.Current.DialogTextColor // }; // chooseTypeView.AddChidren (btnEquipmentType); // typeLayout = new VerticalScrolViewLayout () { // Y = chooseTypeView.Bottom, // Height = Application.GetRealHeight (0), // BackgroundColor = SkinStyle.Current.ViewColor // }; // EventHandler chooseTypeMethod = (sender, e) => { // if (show == 99) {//第一次需要先初始化选择设备类型界面 // InitEquipmentTypeView (btnEquipmentType, btnEquipmentIcon, chooseTypeView); // show = 0; // } else if (show == 0) { // typeLayout.Height = Application.GetRealHeight (1136 - 126 - 90); // chooseTypeView.BackgroundColor = SkinStyle.Current.MainColor; // show = 1; // } else if (show == 1) { // typeLayout.Height = 0; // chooseTypeView.BackgroundColor = SkinStyle.Current.ViewColor; // show = 0; // } // }; // btnEquipmentType.MouseUpEventHandler += chooseTypeMethod; // btnDrodIcon.MouseUpEventHandler += chooseTypeMethod; // chooseTypeView.MouseUpEventHandler += chooseTypeMethod; // #endregion // deviceScrolView = new VerticalScrolViewLayout () { // Y = chooseTypeView.Bottom, // Height = Application.GetRealHeight (1136 - 126 - 110 - 89), // BackgroundColor = SkinStyle.Current.ViewColor, // }; // bodyView.AddChidren (deviceScrolView); // InitDeviceList (); // var btnClose = new Button () { // Height = Application.GetRealHeight (90), // Y = deviceScrolView.Bottom, // BackgroundColor = SkinStyle.Current.MainColor, // Text = "OK", // TextColor = SkinStyle.Current.TextColor1, // TextAlignment = TextAlignment.Center, // TextSize = 16, // }; // bodyView.AddChidren (btnClose); // btnClose.MouseUpEventHandler += (sender, e) => { // saveAction (roomSceneFilePathList, roomDeviceFilePathList); // this.Close (); // }; // } // /// // /// 显示在本地找到的所有设备 // /// // void InitDeviceList () // { // deviceScrolView.RemoveAll (); // System.Threading.Tasks.Task.Run (() => { // //找出需要显示的设备 // var filesList = IO.FileUtils.ReadFiles ().FindAll ((obj) => { // string [] str = obj.Split ('_'); // return obj.StartsWith ("Equipment_") && str.Length == 5; // }); // var localEquipments = filesList.FindAll ((obj) => { // string typeString = obj.Split ('_') [1]; // return ( // #region light // typeString.ToString () == DeviceType.LightCCT.ToString () || // typeString.ToString () == DeviceType.LightRGB.ToString () || // typeString.ToString () == DeviceType.LightDALI.ToString () || // typeString.ToString () == DeviceType.LightRGBW.ToString () || // typeString.ToString () == DeviceType.LightLogic.ToString () || // typeString.ToString () == DeviceType.LightSwitch.ToString () || // typeString.ToString () == DeviceType.LightDimming.ToString () || // typeString.ToString () == DeviceType.LightMixSwitch.ToString () || // typeString.ToString () == DeviceType.LightRGBandCCT.ToString () || // typeString.ToString () == DeviceType.LightMixDimming.ToString () || // typeString.ToString () == DeviceType.LightEnergySocket.ToString () || // typeString.ToString () == DeviceType.LightEnergySwitch.ToString () || // typeString.ToString () == DeviceType.LightSwitchSocket.ToString () // || typeString.ToString () == DeviceType.DMX48.ToString () // #endregion // #region curtain // || typeString.ToString () == DeviceType.CurtainModel.ToString () // || typeString.ToString () == DeviceType.CurtainRoller.ToString () // || typeString.ToString () == DeviceType.CurtainTrietex.ToString () // #endregion // #region ac // //|| typeString.ToString () == DeviceType.ACPanel.ToString () // //|| typeString.ToString () == DeviceType.ACDevice.ToString () // //|| typeString.ToString () == DeviceType.ACInfrared.ToString () // //|| typeString.ToString () == DeviceType.ACCoolmaster.ToString () // //|| typeString.ToString () == DeviceType.CustomAC.ToString () // //|| typeString.ToString () == DeviceType.HVAC.ToString () // #endregion // #region // || typeString.ToString () == DeviceType.FanModule.ToString () // || typeString.ToString () == DeviceType.UniversalDevice.ToString () // #endregion // ); // }); // var globalSceneFileList = Newtonsoft.Json.JsonConvert.DeserializeObject> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (Scene.GlobalSceneFilePath))); // if (globalSceneFileList == null) { // globalSceneFileList = new List (); // } // List RoomsSceneFileList = new List (); // foreach (var r in Room.Lists) { // if (string.IsNullOrEmpty (r.Name)) { // continue; // } // if (r != null) { // RoomsSceneFileList.AddRange (r.SceneFilePathList); // } // } // List TargetList = new List (); // if (selectedDeviceType == "Scene") { // if (string.IsNullOrEmpty (room.RoomFilePath) || room.RoomFilePath == Room.FavoriteRoom) { // TargetList.AddRange (globalSceneFileList); // TargetList.AddRange (RoomsSceneFileList); // } else { // Application.RunOnMainThread (() => { // new ScenePhoneMethod ().AddOrUpdataSceneBaseMassage (room.RoomFilePath); // }); // } // } else { // TargetList.AddRange (localEquipments); // } // for (int i = 0; i < TargetList.Count;) { // var taget = TargetList [i]; // var tacount = TargetList.FindAll ((obj) => obj == taget).Count; // if (tacount == 1) { // i++; // } // while (tacount > 1) { // TargetList.Remove (taget); // tacount--; // } // } // foreach (string filePath in TargetList) { // try { // string [] str = filePath.Split ('_'); // if (selectedDeviceType != null && selectedDeviceType != "Scene" && selectedDeviceType != "All") { // //只显示当前选择的设备类型的设备 // if (selectedDeviceType == "EC") { // if (str [1].Contains (DeviceType.LightSwitch.ToString ())) { // var b = IO.FileUtils.ReadFile (filePath); // LightSwitch c = Newtonsoft.Json.JsonConvert.DeserializeObject (System.Text.Encoding.UTF8.GetString (b)); // if (!c.IsSocket) { // continue; // } // } else // continue; // } else { // if (!str [1].Contains (selectedDeviceType)) { // continue; // } // } // } // var commonBytes = IO.FileUtils.ReadFile (filePath); // if (commonBytes.Length == 0) { // Utlis.WriteLine ("length loss"); // continue; // } // if (commonBytes.Length == 1) { // Utlis.WriteLine ("length loss 1"); // continue; // } // if (str [1] == DeviceType.InfraredMode.ToString ()) { // InfraredMode c = Newtonsoft.Json.JsonConvert.DeserializeObject (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (filePath))); // if (c.InfraredType != InfraredType.TV) { // continue; // } // } // var deviceFilePath = filePath; // if (deviceFilePath.Contains ("LightEnergySocket")) { // deviceFilePath = deviceFilePath.Replace ("LightEnergySocket", "LightSwitch"); // } else if (deviceFilePath.Contains ("LightEnergySwitch")) { // deviceFilePath = deviceFilePath.Replace ("LightEnergySwitch", "LightSwitch"); // } else if (deviceFilePath.Contains ("LightSwitchSocket")) { // deviceFilePath = deviceFilePath.Replace ("LightSwitchSocket", "LightSwitch"); // } else if(deviceFilePath.Contains("ACInfrared")) { // deviceFilePath = deviceFilePath.Replace ("ACInfrared", "HVAC"); // } else if (deviceFilePath.Contains ("CurtainModel")) { // deviceFilePath = deviceFilePath.Replace ("CurtainModel", "CurtainModule"); // } // Common commonDevice = Newtonsoft.Json.JsonConvert.DeserializeObject (System.Text.Encoding.UTF8.GetString (commonBytes)); // if (commonDevice.Type == DeviceType.OnePortBus || commonDevice.Type == DeviceType.OnePortWirelessFR || commonDevice.Type == DeviceType.OnePortMqttFR || commonDevice.Type == DeviceType.RCU // || commonDevice.Type == DeviceType.A31MusicModel || commonDevice.Type == DeviceType.MusicA31) { // continue; // } // Application.RunOnMainThread (() => { // var deviceRow = new RowLayout () { // Height = Application.GetRealHeight (120), // }; // deviceScrolView.AddChidren (deviceRow); // var btnPoint = new Button () { // Width = Application.GetMinRealAverage (10), // Height = Application.GetMinRealAverage (10), // Radius = (uint)Application.GetMinRealAverage (5), // X = Application.GetRealWidth (50), // Gravity = Gravity.CenterVertical, // BackgroundColor = SkinStyle.Current.TextColor1, // SelectedBackgroundColor = SkinStyle.Current.SelectedColor, // }; // deviceRow.AddChidren (btnPoint); // Button btnEquipment = new Button () { // X = btnPoint.Right + Application.GetRealWidth (30), // Width = Application.GetRealWidth (310), // TextAlignment = TextAlignment.CenterLeft, // SelectedBackgroundColor = SkinStyle.Current.SelectedColor, // SelectedTextColor = SkinStyle.Current.DialogTextColor, // TextColor = SkinStyle.Current.TextColor1, // Text = commonDevice.Name, // Tag = filePath, // }; // deviceRow.AddChidren (btnEquipment); // //2020-01-10 隐藏定位按钮 // //Button btnFindDevcie = new Button () { // // X = btnEquipment.Right, // // Width = Application.GetRealWidth (75), // // Height = Application.GetRealHeight (72), // // Gravity = Gravity.CenterVertical, // // UnSelectedImagePath = "CrabtreeAdd/Position.png", // // SelectedImagePath = "CrabtreeAdd/PositionOn.png", // //}; // //deviceRow.AddChidren (btnFindDevcie); // //btnFindDevcie.MouseUpEventHandler += (sdd, dds) => { // // btnFindDevcie.IsSelected = true; // // Control.ControlBytesSend (Command.PositioningEquipment, commonDevice.SubnetID, commonDevice.DeviceID, new byte [] { 5 }); // // System.Threading.Tasks.Task.Run (() => { // // System.Threading.Thread.Sleep (3000); // // Application.RunOnMainThread (() => { // // btnFindDevcie.IsSelected = false; // // }); // // }); // //}; // if (selectedDeviceType != "Scene") { // //2020-01-10 隐藏修改按钮 // //return; // var btnEdit = new Button () { // X = btnEquipment.Right + Application.GetRealWidth (80), // Width = Application.GetMinRealAverage (75), // Height = Application.GetMinRealAverage (72), // Gravity = Gravity.CenterVertical, // UnSelectedImagePath = "CrabtreeAdd/Edit.png", // SelectedImagePath = "CrabtreeAdd/EditOn.png", // }; // deviceRow.AddChidren (btnEdit); // btnEdit.MouseUpEventHandler += (sd, ds) => { // Action successAction = () => { // GenericDialog.Current.RefreshRemark (commonDevice); // if (!roomDeviceFilePathList.Contains (filePath)) { // roomDeviceFilePathList.Add (filePath); // } // }; // GenericDialog.Current.ShowModifyRemarksDialog (commonDevice, commonBytes, btnEquipment, successAction); // }; // } // var btnChoose = new Button () { // X = Application.GetRealWidth (472 + 80), // Width = Application.GetMinRealAverage (75), // Height = Application.GetMinRealAverage (72), // Gravity = Gravity.CenterVertical, // UnSelectedImagePath = "CrabtreeAdd/Choose.png", // SelectedImagePath = "CrabtreeAdd/ChooseOn.png", // IsSelected = showList.Contains (deviceFilePath), // Tag = filePath // }; // btnChoose.AddTag ("DeviceFilePath", deviceFilePath); // deviceRow.AddChidren (btnChoose); // btnChoose.MouseUpEventHandler += (sendere, ee) => { // btnChoose.IsSelected = !btnChoose.IsSelected; // if (btnChoose.IsSelected) { // if (selectedDeviceType == "Scene") { // roomSceneFilePathList.Add (((Button)sendere).Tag.ToString ()); // } else { // roomDeviceFilePathList.Add (((Button)sendere).Tag.ToString ()); // } // showList.Add (((Button)sendere).Tag.ToString ()); // } else { // if (selectedDeviceType == "Scene") { // roomSceneFilePathList.Remove (((Button)sendere).Tag.ToString ()); // } else { // roomDeviceFilePathList.Remove (((Button)sendere).GetTagByKey ("DeviceFilePath").ToString ()); // roomDeviceFilePathList.Remove (((Button)sendere).Tag.ToString ()); // } // showList.Remove (((Button)sendere).Tag.ToString ()); // } // }; // if (selectedDeviceType == "Scene") { // //string [] str = filePath.Split ('_'); // var sceneName = str [str.Length - 2];//倒数第一位为场景名 // btnChoose.IsSelected = showList.Contains (sceneName); // btnChoose.Enable = !btnChoose.IsSelected; // } else { // //2020-07-23 如果匹配则判断是否添加真正的路径 // if (btnChoose.IsSelected) { // if (!roomDeviceFilePathList.Contains (filePath)) { // roomDeviceFilePathList.Add (filePath); // } // } // } // }); // } catch (Exception ex) { // Utlis.WriteLine (ex.Message); // } // } // }); // } // void InitEquipmentTypeView (Button btnEquipmentType, Button btnEquipmentIcon, RowLayout chooseTypeView) // { // bodyView.AddChidren (typeLayout); // //下拉列表的数据源(选项为设备类型有关) // List typeTemp = new List{ // Language.StringByID(R.MyInternationalizationString.All), // //Language.StringByID(R.MyInternationalizationString.Scenes), // Language.StringByID(R.MyInternationalizationString.Lights), // //Language.StringByID(R.MyInternationalizationString.AC), // Language.StringByID(R.MyInternationalizationString.Curtains), // //Language.StringByID(R.MyInternationalizationString.FoolHeat), // //Language.StringByID(R.MyInternationalizationString.FreshAir), // //Language.StringByID(R.MyInternationalizationString.TV), // Language.StringByID(R.MyInternationalizationString.Fan), // //Language.StringByID (R.MyInternationalizationString.Security), // //Language.StringByID (R.MyInternationalizationString.LogicModule), // //Language.StringByID(R.MyInternationalizationString.ElectricalControl), // //Language.StringByID (R.MyInternationalizationString.MusicModel), // Language.StringByID (R.MyInternationalizationString.UniversalDevice), // //Language.StringByID (R.MyInternationalizationString.Sensor), // }; // foreach (string typeName in typeTemp) { // var dialogRow = new RowLayout () { // Height = Application.GetRealHeight (110), // }; // typeLayout.AddChidren (dialogRow); // var btnPoint = new Button () { // Width = Application.GetMinRealAverage (10), // Height = Application.GetMinRealAverage (10), // Radius = (uint)Application.GetMinRealAverage (5), // X = Application.GetRealWidth (70), // Gravity = Gravity.CenterVertical, // BackgroundColor = SkinStyle.Current.TextColor1, // SelectedBackgroundColor = SkinStyle.Current.SelectedColor, // }; // dialogRow.AddChidren (btnPoint); // Button btnTypeName = new Button () { // Width = Application.GetRealHeight (400), // X = btnPoint.Right + Application.GetRealWidth (30), // Text = typeName, // TextAlignment = TextAlignment.CenterLeft, // TextColor = SkinStyle.Current.TextColor1 // }; // dialogRow.AddChidren (btnTypeName); // EventHandler typeEvent = (sender1, e1) => { // typeLayout.Height = 0; // btnEquipmentType.Text = typeName; // if (typeName == Language.StringByID (R.MyInternationalizationString.Lights)) { // btnEquipmentIcon.UnSelectedImagePath = "Item/Light.png"; // selectedDeviceType = "Light"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.Curtains)) { // btnEquipmentIcon.UnSelectedImagePath = "Curtain/Curtain.png"; // selectedDeviceType = "Curtain"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.AC)) { // btnEquipmentIcon.UnSelectedImagePath = "AC/AC.png"; // selectedDeviceType = "AC"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.FoolHeat)) { // btnEquipmentIcon.UnSelectedImagePath = "Item/FloorHeating.png"; // selectedDeviceType = "FoolHeat"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.DryContactPanel)) { // btnEquipmentIcon.UnSelectedImagePath = "Item/DryContact.png"; // selectedDeviceType = "DryContact"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.MusicModel)) { // btnEquipmentIcon.UnSelectedImagePath = "Item/Music.png"; // selectedDeviceType = "Music"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.InfraredMode)) { // btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredTV.png"; // selectedDeviceType = "InfraredMode"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.TV)) { // btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredTV.png"; // selectedDeviceType = "InfraredMode"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.ElectricalControl)) { // btnEquipmentIcon.UnSelectedImagePath = "Light/Socket.png"; // selectedDeviceType = "EC";//电器控制 // } else if (typeName == Language.StringByID (R.MyInternationalizationString.Fan)) { // btnEquipmentIcon.UnSelectedImagePath = "Fan/Fan.png"; // selectedDeviceType = "Fan"; // //} else if (typeName == Language.StringByID (R.MyInternationalizationString.LogicModule)) { // // btnEquipmentIcon.UnSelectedImagePath = "Item/PointBig.png"; // // selectedDeviceType = "LogicModule"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.Scenes)) { // btnEquipmentIcon.UnSelectedImagePath = "Scene/Scene.png"; // selectedDeviceType = "Scene"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.UniversalDevice)) { // btnEquipmentIcon.UnSelectedImagePath = "UniversalDevice/UniversalDevice.png"; // selectedDeviceType = "UniversalDevice"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.Sensor)) { // btnEquipmentIcon.UnSelectedImagePath = "UniversalDevice/UniversalDevice.png"; // selectedDeviceType = "Sensor"; // } else if (typeName == Language.StringByID (R.MyInternationalizationString.FreshAir)) { // btnEquipmentIcon.UnSelectedImagePath = "FreshAir/FreshAir.png"; // selectedDeviceType = "FreshAir"; // } else { // btnEquipmentIcon.UnSelectedImagePath = "Item/LogicModule.png"; // selectedDeviceType = "All"; // } // chooseTypeView.BackgroundColor = SkinStyle.Current.ViewColor; // InitDeviceList (); // }; // dialogRow.MouseUpEventHandler += typeEvent; // btnTypeName.MouseUpEventHandler += typeEvent; // } // } // } //}